home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Collections: MegaDisc
/
MegaDisc 27 (1992-03)(MegaDisc Digital Publishing)(AU)(Disk 2 of 2).zip
/
MegaDisc 27 (1992-03)(MegaDisc Digital Publishing)(AU)(Disk 2 of 2).adf
/
Programming
/
Basic_Routines
/
BasicSubs
/
demos
/
Boxcalc.demo
(
.txt
)
< prev
next >
Wrap
AmigaBASIC Source Code
|
1992-03-30
|
2KB
|
99 lines
SCREEN 1,640,250,4,2
WINDOW 2," BOX CALC DEMO",,0,1
GOSUB LOADCOLOURS
GOSUB SCREENSETUP
GOSUB WAITFOREND
SYSTEM
WAITFOREND:
xs =195:xe=424:ys=187:ye=203:fillcol=12:olcol=2:GOSUB RAISED
LOCATE 25,27: COLOR 5,fillcol:PRINT "Press any key to exit demo"
A$=""
WHILE A$= ""
A$ = INKEY$
WEND
RETURN
LOADCOLOURS:
OPEN "BasicUtils&Subs:SetupFiles/Colours" FOR INPUT AS #1
FOR i = 0 TO 15
INPUT #1,A,b,c,c$
PALETTE i,A,b,c
NEXT i
CLOSE
RETURN
SCREENSETUP:
xs=3:ys=3:xe=627:ye=234:olcol=4:fillcol=0:GOSUB RAISED
bgcol=2:fillcol=6
COLOR 0,fillcol
linex$="Base Box"
xloc = 30:yloc=4:GOSUB BASECALC
GOSUB RAISED
COLOR 0,fillcol
LOCATE yloc,xloc:PRINT linex$
linex$="Small Box"
xloc = 30:yloc=8:GOSUB BASECALC :GOSUB SMALLBOX
GOSUB RAISED
COLOR 0,fillcol
LOCATE yloc,xloc:PRINT linex$
linex$="Medium Box"
xloc = 30:yloc=14:GOSUB BASECALC :GOSUB MEDIUMBOX
GOSUB RAISED
COLOR 0,fillcol
LOCATE yloc,xloc:PRINT linex$
linex$="Large Box"
xloc = 30:yloc=20:GOSUB BASECALC :GOSUB LARGEBOX
GOSUB RAISED
COLOR 0,fillcol
LOCATE yloc,xloc:PRINT linex$
linex$="Odd Size Box":xoffset=48:yoffset=6
xloc = 55:yloc=6:GOSUB BASECALC: GOSUB BOXCALC
GOSUB RAISED
COLOR 0,fillcol
LOCATE yloc,xloc:PRINT linex$
RETURN
BASECALC:
linelen =LEN(linex$)
xs=(xloc*8)-13:ys=(yloc*8)-11
xe=((xloc+linelen)*8)-5:ye=(yloc*8) +1
RETURN
SMALLBOX:
xoffset=8:yoffset=4
GOSUB BOXCALC
RETURN
MEDIUMBOX:
xoffset=16:yoffset=8
GOSUB BOXCALC
RETURN
LARGEBOX:
xoffset=24:yoffset=12
GOSUB BOXCALC
RETURN
BOXCALC:
xs=xs-xoffset:ys=ys-yoffset
xe=xe+xoffset:ye=ye+yoffset
RETURN
RAISED:
COLOR olcol
LINE (xs,ys)-(xe,ye),,b
LINE (xs-4,ys-2)-(xe+4,ye+2),,b
LINE (xs-2,ys-1)-(xe+2,ye+1),,b
GOSUB FILLBOX
RETURN
FILLBOX:
COLOR fillcol
LINE (xs+1,ys+1)-(xe-1,ye-1),,b
PAINT ((xs+xe)/2,(ys+ye)/2)
RETURN